package org.wu.framework.ssh.server.platform.application.assembler;

import org.wu.framework.ssh.server.platform.application.command.ssh.server.config.*;
import org.wu.framework.ssh.server.platform.domain.model.ssh.server.config.SshServerConfig;
import org.wu.framework.ssh.server.platform.application.dto.SshServerConfigDTO;
import org.wu.framework.core.mapper.LazyStructMappers;
import org.wu.framework.core.mapper.LazyStructMapper;
/**
 * describe ssh服务器信息 
 *
 * @author Jia wei Wu
 * @date 2025/09/13 10:07 晚上
 * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyAssembler 
 **/
@LazyStructMapper
public interface SshServerConfigDTOAssembler {


    /**
     * describe LazyStructMapper 创建的代理对象
     *
     
     
     
     * @author Jia wei Wu
     * @date 2025/09/13 10:07 晚上
     **/
    SshServerConfigDTOAssembler INSTANCE = LazyStructMappers.getMapper(SshServerConfigDTOAssembler.class);
    /**
     * describe 应用层存储入参转换成 领域对象
     *
     * @param sshServerConfigStoryCommand 保存ssh服务器信息对象     
     * @return {@link SshServerConfig} ssh服务器信息领域对象     
     
     * @author Jia wei Wu
     * @date 2025/09/13 10:07 晚上
     **/
     SshServerConfig toSshServerConfig(SshServerConfigStoryCommand sshServerConfigStoryCommand);
    /**
     * describe 应用层更新入参转换成 领域对象
     *
     * @param sshServerConfigUpdateCommand 更新ssh服务器信息对象     
     * @return {@link SshServerConfig} ssh服务器信息领域对象     
     
     * @author Jia wei Wu
     * @date 2025/09/13 10:07 晚上
     **/
     SshServerConfig toSshServerConfig(SshServerConfigUpdateCommand sshServerConfigUpdateCommand);
    /**
     * describe 应用层查询入参转换成 领域对象
     *
     * @param sshServerConfigQueryOneCommand 查询单个ssh服务器信息对象参数     
     * @return {@link SshServerConfig} ssh服务器信息领域对象     
     
     * @author Jia wei Wu
     * @date 2025/09/13 10:07 晚上
     **/
     SshServerConfig toSshServerConfig(SshServerConfigQueryOneCommand sshServerConfigQueryOneCommand);
    /**
     * describe 应用层查询入参转换成 领域对象
     *
     * @param sshServerConfigQueryListCommand 查询集合ssh服务器信息对象参数     
     * @return {@link SshServerConfig} ssh服务器信息领域对象     
     
     * @author Jia wei Wu
     * @date 2025/09/13 10:07 晚上
     **/
     SshServerConfig toSshServerConfig(SshServerConfigQueryListCommand sshServerConfigQueryListCommand);
    /**
     * describe 应用层删除入参转换成 领域对象
     *
     * @param sshServerConfigRemoveCommand 删除ssh服务器信息对象参数     
     * @return {@link SshServerConfig} ssh服务器信息领域对象     
     
     * @author Jia wei Wu
     * @date 2025/09/13 10:07 晚上
     **/
     SshServerConfig toSshServerConfig(SshServerConfigRemoveCommand sshServerConfigRemoveCommand);
    /**
     * describe 持久层领域对象转换成DTO对象
     *
     * @param sshServerConfig ssh服务器信息领域对象     
     * @return {@link SshServerConfigDTO} ssh服务器信息DTO对象     
     
     * @author Jia wei Wu
     * @date 2025/09/13 10:07 晚上
     **/
     SshServerConfigDTO fromSshServerConfig(SshServerConfig sshServerConfig);
    /**
     * describe 持久层领域对象转换成导出数据对象
     *
     * @param sshServerConfig ssh服务器信息领域对象     
     * @return {@link SshServerConfigExcelExport} ssh服务器信息导出数据对象     
     
     * @author Jia wei Wu
     * @date 2025/09/13 10:07 晚上
     **/
     SshServerConfigExcelExport fromSshServerConfigToExcelExport(SshServerConfig sshServerConfig);
    /**
     * describe 应用层导入入参转换成 领域对象
     *
     * @param sshServerConfigExcelImport 导入ssh服务器信息对象参数     
     * @return {@link SshServerConfig} ssh服务器信息领域对象     
     
     * @author Jia wei Wu
     * @date 2025/09/13 10:07 晚上
     **/
     SshServerConfig toSshServerConfig(SshServerConfigExcelImport sshServerConfigExcelImport);
}